其他
有赞数据中台建设实践
点击关注“有赞coder”
获取更多技术干货哦~
团队:大数据团队
概述究竟什么是中台, 业界并没有一个标准答案, 各个厂商都有自己的定义. 笔者比较认可的一个定义是 ThoughtWorks 提出的"企业级能力复用平台". 各个领域涌现出很多中台产品, 如业务中台, 搜索中台, 数据中台等. 其中数据中台这个词汇越来越多的出现在视野中, 从百度指数中可以看到这一趋势.
业务挑战 技术挑战
2.1 业务挑战
有赞是一家服务商家的 SaaS 公司, 服务数百万各行各业的商家, 提供电商解决方案. 有赞数据团队的服务对象主要是各个前台业务线, 所以一切故事的开始来源于业务团队. 因为业务特点决定, 目前有赞的数据需求有以下特点:
垂直业务线众多: 有赞微商城, 有赞零售, 有赞美业, 有赞教育等 业务域众多: 商品, 店铺, 会员, 交易, 支付等 数据需求多样: 商家后台数据报表需求, 运营侧数据分析需求, 大促看板需求, 实时报表需求等 业务需求迅速迭代: 业务模型的迭代演进, SaaS领域对已有功能比较高的兼容要求等 ...
组件多, 维护成本高 开发门槛高
数据Source流在哪儿, 如何接入 数据处理后的Sink是流还是其他存储,如果是其他存储系统,可用性是怎样的,单机房可用还是多机房,扩展性怎么样, 写入是否有热点,是否可以配合实时链路的并行度调整做水平扩展 实时任务本身的高可用部署,监控及报警 消息的一致性语义是什么(at least once, exactly once 还是 at most once), 每种语义对上下游服务的要求是怎么样的 实时计算任务的计算资源如何配置, 水位如何,大促期间如何扩容 公司内部各种各样非大数据的技术组件,如何做适配 ...
数据技术中台 数据资产中台
基础组件运维管控 数据开发平台 数据资产管理平台 数据指标管理 统一数据服务
基础组件运维管控上文也有提到, 大数据基础组件种类繁多, 概括下来可以分为三类:
离线计算组件 (HDFS,YARN, HIVE, Spark) 分布式在线存储组件(HBase, Kafka, Druid) 实时计算组件(Storm, Spark Streaming, Flink)
确定核心指标. 需要 case by case 的确认每个子系统的最核心的指标, 比如对 HDFS 系统来说, 文件数目, 文件操作 tps, 文件操作的 rt, 99% rt, 是否有丢块等,就是核心指标, 需要特别关注. 监控. 采集核心指标, 展现到监控上, 便于观察趋势, 帮助问题排查和扩容等操作的判断依据. 报警. 根据核心指标, 确定安全水位, 配置报警, 缩短故障发现时间. 具备一定的定制开发能力. 对使用组件不要求有核心 feature 的开发改造能力(这不符合 ROI), 但是在权限/安全方面, 社区版本很难满足定制需求, 这就需要对基础组件做一定的改造; 另外需要关注社区,对于重大隐患的 bug, 需要打回的公司的版本. 软件发布/配置发布规范. 多人协作, 多组件协作, 需要一个完整的开发/测试/发布流程, 不止对软件, 对配置的发布也一定要规范. 这方面曾经踩过不少的坑. 故障演练, 要定期的主动对技术组件做故障演练, 有些组件虽然支持某类功能,但是随着数据量, 负载的不同, 这类功能实际效果具体是怎样的需要通过实践来确认. 比如 HBase 支持单机宕机自动恢复, 但是宕机恢复时间究竟是多少, 跟集群负载, 各方面的配置都是相关的, 需要通过故障演练来组件优化系统. 性能摸底. 需要对组件做标准的 Benchmark, 一来掌握系统极限,二来在业务接入时能够提供准确的性能指标, 帮助业务方做选型判断. ...
离线开发平台, 主要负责离线数据的加工, 任务调度, 数据 ETL, 临时查询, 监控报警等 实时计算平台, 主要负责实时计算任务的管理, 监控报警等
数据资产管理平台数据资产管理平台主要解决数据资源的管理, 数据资产遍布在各个大数据组件中, 有 hive 的表, 有 hbase 的表, 有 druid 的 datasource, 有 kafka 中的流, 各个组件的管控系统很难互相打通, 所以需要一个统一的数据资产管理服务, 来统筹大数据资源的管理.
数据地图(方便用户查找,定位已有的数据自产并复用) 数据质量(对数据资源,根据预设的规则做质量检查,提前发现潜在问题,比如每日数据量,是否有字段缺失等,并且在数据不合格的状况下能够及时通知出来) 成本核算(统计各个团队,组件的成本占用,利于做成本降低之类的优化,当数据体量达到一定规模的时候, 成本问题会变的越来越重要) 数据血缘管理(管理所有的数据资源的依赖关系, 主要用在两个场景: a. 数据问题评估, 当上游数据变更或者质量问题的时候, 能够快速确定影响面和修复方案. b. 数据生命周期管理, 当下游应用下线,不再使用某个数据的时候,能够找到不被引用的数据, 及时下线,避免不必要的计算) ...
3.1 节中介绍了偏技术视角的中台, 涵盖了大数据的技术架构. 但是数据中台远不止技术设施,更主要的是数据资产的建设和组织, 因为对业务方而言,业务方更关注的是有哪儿些数据自产可以使用,而不是通过什么底层技术实现.
离线数据资产(离线数仓) 数据智能服务 实时数据资产(实时数仓)
Vol.236